package com.whjfxx.terminal.controller;

import com.whjfxx.terminal.websocket.WebSocketTest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//import reactor.core.publisher.Mono;

/**
 * Created by b.c on 2022/1/18 9:29
 */
@Slf4j
@RestController
@RequestMapping("v1/testApi")
public class TestApi {

    @Autowired
    WebSocketTest webSocketTest;

//    @GetMapping("websocket")
//    public Mono<Object> authorize(@RequestParam("name") String name) {
//        webSocketTest.GroupSending("fdsfdsafsd");
//        return Mono.just("success");
//    }


//    @GetMapping("send")
//    public Mono<Object> send(@RequestParam("name") String name) {
//        try {
//            WebSocketClient webSocketClient = new WebSocketClient(new URI("ws://localhost:6060/websocket/test"),new Draft_6455()) {
//                @Override
//                public void onOpen(ServerHandshake handshakedata) {
//                    System.out.println("[websocket] 连接成功");
//                }
//
//                @Override
//                public void onMessage(String message) {
//                    System.out.println("[websocket] 收到消息={ " + message + " }");
//
//                }
//
//                @Override
//                public void onClose(int code, String reason, boolean remote) {
//                    System.out.println("[websocket] 退出连接");
//                }
//
//                @Override
//                public void onError(Exception ex) {
//                    ex.printStackTrace();
//                }
//            };
//            webSocketClient.connect();
//            webSocketClient.send("31321321321");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return Mono.just("success");
//    }

//    private static final String PROCESS_DEFINE_KEY = "leave";
//
//    @GetMapping("task/start")
//    public Mono<Object> taskStart() {
//
//        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//
//        RuntimeService runtimeService = processEngine.getRuntimeService();
//
//        TaskService taskService = processEngine.getTaskService();
//
//        System.out.println("method startActivityDemo begin....");
//
//        Map<String,Object> map = new HashMap<>();
//
//        map.put("apply","zhangsan");
//
//        map.put("approve","lisi");
//
//        //流程启动
//
//        ExecutionEntity pi1 = (ExecutionEntity) runtimeService.startProcessInstanceByKey("myProcess_1",map);
//
//        String processId = pi1.getId();
//
//        Task task = taskService.createTaskQuery().processInstanceId(processId).singleResult();
//
//        // 完成第一步申请
//        taskService.complete(task.getId(), map);
//
//        task = taskService.createTaskQuery().processInstanceId(processId).singleResult();
//
//        String taskId2 = task.getId();
//
//        map.put("pass", false);
//
//        // 驳回申请
//        taskService.complete(taskId2, map);
//
//        task = taskService.createTaskQuery().processInstanceId(processId).singleResult();
//
//        log.info("task 第三步:{}", task);
//
//        log.info("工作流结束....");
//
//        return Mono.just(123);
//    }
}
